С MSSQL собираем через "Монитор баз данных" такие данные "SELECT TOP 1 creation_time FROM sys.dm_server_memory_dumps order by creation_time desc"
возвращается строка типа "2019-04-06 13:21:26.6222115 +05:00" (дата создания дампа памяти при ошибке)
в предобработке стоит "отбрасывать не изменившееся"
Задача сделать триггер на появление ошибки.
Но есть несколько проблем: если нет ни одной записи то возвращается SQL query returned empty result. и Item становиться в состояние не поддерживается
может вернуть старую запись например за 2019 год на которую уже не надо реагировать.
Триггер "{[MSSQL.SqlDumpExceptionHandler,{$MSSQL.DSN}].strlen()}>0" сработает в первый раз после создания итема (можно потерпеть) и при каждом перезапуске zabbix (что напрягает так как серверов >50 шт).
Сделать триггер на diff() ?? Но как отреагирует diff() в триггере если состояние итема не поддерживается (нет дампа) и вдруг он появился то есть select вернул какое-то значение.
Может знающие люди направят в нужное русло ? как правильно сделать ??
Может быть как-то вытащить дату и сравнивать ее с текущей ?
Или каким-то волшебным образом заставить заббикс писать в базу пустую строку при получении SQL query returned empty result ?
возвращается строка типа "2019-04-06 13:21:26.6222115 +05:00" (дата создания дампа памяти при ошибке)
в предобработке стоит "отбрасывать не изменившееся"
Задача сделать триггер на появление ошибки.
Но есть несколько проблем: если нет ни одной записи то возвращается SQL query returned empty result. и Item становиться в состояние не поддерживается
может вернуть старую запись например за 2019 год на которую уже не надо реагировать.
Триггер "{[MSSQL.SqlDumpExceptionHandler,{$MSSQL.DSN}].strlen()}>0" сработает в первый раз после создания итема (можно потерпеть) и при каждом перезапуске zabbix (что напрягает так как серверов >50 шт).
Сделать триггер на diff() ?? Но как отреагирует diff() в триггере если состояние итема не поддерживается (нет дампа) и вдруг он появился то есть select вернул какое-то значение.
Может знающие люди направят в нужное русло ? как правильно сделать ??
Может быть как-то вытащить дату и сравнивать ее с текущей ?
Или каким-то волшебным образом заставить заббикс писать в базу пустую строку при получении SQL query returned empty result ?
Comment